package com.jeesite.modules.stock.dao;

import java.util.Comparator;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.jeesite.modules.stock.dao.mapper.UserPageMapper;
import com.jeesite.modules.stock.entity.UserPageEntity;

@Component
public class UserPagesDao {

	@Autowired
	private UserPageMapper userPageMapper;
	
	public void insert(UserPageEntity entity) {
		userPageMapper.insert(entity);
	}
	
	public void update(UserPageEntity entity) {
		userPageMapper.update(entity);
	}
	
	public UserPageEntity get(String id) {
		UserPageEntity entity = new UserPageEntity();
		entity.setId(id);
		return userPageMapper.get(entity);
	}
	
	public void deleteById(String id) {
		UserPageEntity entity = new UserPageEntity();
		entity.setId(id);
		userPageMapper.delete(entity);
	}
	
	public List<UserPageEntity> findUserPages(String userId) {
		List<UserPageEntity> list = userPageMapper.findUserPages(userId);
		list.sort(Comparator.comparing(UserPageEntity::getPageNr));
		return list;
	}
	
	public boolean pageExist(String userId, String pageName) {
		UserPageEntity entity = new UserPageEntity();
		entity.setUserId(userId);
		entity.setPageName(pageName);
		return userPageMapper.findCount(entity)>0;
	}
	
	public UserPageEntity findUserPage(String userId, String pageName) {
		UserPageEntity entity = new UserPageEntity();
		entity.setUserId(userId);
		entity.setPageName(pageName);
		return userPageMapper.getByEntity(entity);
	}
}
